<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div id="app">
      <button @click="age++">{{age}}</button>
      <!-- 绑定的函数必须在methods中定义 -->
      <button @click="fn">{{age}}</button>
      <!-- $event,主动传一个内置的事件对象 ，如果主动传参数需要加一个事件对象，可以阻止的默认行为-->
      <a href="http://www.baidu.com" @click="add(5,$event)">{{age}}</a>
    </div>
    <!-- 引入vue -->
    <script src="./vue.js"></script>
    <script>
      //js中声明变量的方式
      //es6: let const
      //ES5: var
      new Vue({
        el: "#app",
        data: {
          content: "<span>123</span>",
          age: 20,
        },
        // 如果是在对象里的函数，可以省略Function的完整写法
        methods: {
          // methods中定义的方法，可以使用this访问和修改数据
          fn(e) {
            alert("点我");
            //如果事件没有传参数，自动从形参拿到事件对象
            console.log("e  ----->  ", e);
            this.age++;
          },
          add(num, e) {
            //如果事件传了参数，形参会自动接收
            //阻止默认行为
            e.preventDefault();
            this.age += num;
          },
        },
      });
    </script>
  </body>
</html>
